SWF
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
top
SWF (/หswษชf/)cite-ref-6[6] is a defunct Adobe Flash file format that was used for multimedia, vector graphics and ActionScript.cite-ref-swfopen-7-0[7]
Originating with FutureWave Software, then transferred to Macromedia, and then coming under the control of Adobe, SWF files can contain animations or applets of varying degrees of interactivity and function. They may also occur in programs, commonly browser games, using ActionScript.
Programmers can generate SWF files from within several Adobe products, including Flash, Flash Builder (an IDE), Adobe Animate (a rename of Adobe Flash since 2016), and After Effects, as well as through MXMLC, a command-line application compiler which forms part of the freely-available Flex SDK. Although Adobe Illustrator can generate SWF format files through its "export" function, it cannot open or edit them. Other than using Adobe products, one can build SWFs with open-source Motion-Twin ActionScript 2 Compiler (MTASC), the open-source Ming library and the free-software suite SWFTools. Various other third-party programs can also produce files in this format, such as Multimedia Fusion 2, Captivate and SWiSH Max.
The term "SWF" originated as an abbreviation for ShockWave Flash.cite-ref-schaeffer2007-8-0[8] This usage was changed to the backronym Small Web Format to eliminate confusion with a different technology, Shockwave, from which SWF derived.cite-ref-9[9]cite-ref-niederstrobbins2001-10-0[10] There is no official resolution to the initialism "SWF" by Adobe.cite-ref-11[11]
Contents
โข History
โข Description
โข Adoption
โข Licensing
โข See also
โข References
โข External links
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
History
The small company FutureWave Software originally defined the file format with one primary objective: to create small files for displaying entertaining animations.cite-ref-13[13] The idea involved a format which player software could run on any system and which would work with slower network connections. FutureWave released FutureSplash Animator in May 1996. In December 1996 Macromedia acquired FutureWave and FutureSplash Animator became Macromedia Flash 1.0.
The original naming of SWF came out of Macromedia's desire to capitalize on the well-known Macromedia Shockwave brand; Macromedia Director produced Shockwave files for the end user, so the files created by their newer Flash product tried to capitalize on the already established brand. As Flash became more popular than Shockwave itself, this branding decision became more of a liability, so the format started to be referred to as simply SWF.cite-ref-schaeffer2007-8-1[8]
Adobe acquired Macromedia in 2005.cite-ref-14[14]
On May 1, 2008, Adobe dropped its licensing restrictions on the SWF format specifications, as part of the Open Screen Project. However, Rob Savoye, a member of the Gnash development team, has pointed to some parts of the Flash format which remain closed.cite-ref-stillpartlyclosed-15-0[15] On July 1, 2008, Adobe released code to Google and Yahoo, which allowed their search engines to crawl and index SWF files.cite-ref-16[16]
Description
The main graphical primitive in SWF is the path, which is a chain of segments of primitive types, ranging from lines to splines or Bรฉzier curves. Additional primitives like rectangles, ellipses, and even text can be built from these. The graphical elements in SWF are thus fairly similar to SVG and MPEG-4 BIFS. SWF also uses display lists and allows naming and reusing previously defined components.cite-ref-compar-17-0[17]
Originally limited to presenting vector-based objects and images in a simple sequential manner, the format in its later versions allows audio (since Flash 3) and video (since Flash 6).
Adobe introduced a new, low-level 3D API in version 11 of the Flash Player. Initially codenamed Molehill, the official name given to this API was ultimately Stage3D. It was intended to be an equivalent of OpenGL or Direct3D.cite-ref-kaitila2011-18-0[18] In Stage3D shaders are expressed in a low-level language called Adobe Graphics Assembly Language (AGAL).cite-ref-kaitila2011-18-1[18]cite-ref-19[19]
Adoption
Adobe makes available plugins, such as Adobe Flash Player and Adobe Integrated Runtime, to play SWF files in web browsers on many desktop operating systems, including Microsoft Windows, Mac OS X, and Linux on the x86 architecture and ARM architecture (ChromeOS only).
GNU has started developing a free software SWF player called Gnash under the GNU General Public License (GPL). Despite being a declared high-priority GNU project, funding for Gnash was fairly limited.cite-ref-lwn-20-0[20] Another player is the LGPL-licensed Swfdec. Lightspark is a continuation of Gnash supporting more recent SWF versions.cite-ref-lwn-20-1[20]
Adobe has incorporated SWF playback and authoring in other product and technologies of theirs, including in Adobe Shockwave, which renders more complex documents.cite-ref-compar-17-2[17] SWF can also be embedded in PDF files; these are viewable with Adobe Reader 9 or later.cite-ref-21[21] InDesign CS6 can also produce some limited forms of SWF animations directly.cite-ref-smithteam2012-22-0[22]
Scaleform GFx is a commercial alternative SWF player that features full hardware acceleration using the GPU and has high conformance up to Flash 8 and AS2. Scaleform GFx is licensed as a game middleware solution and used by many PC and console 3D games for user interfaces, HUDs, mini games, and video playback.
The newer 3D features of SWF have been seen as an alternative to WebGL, with a spurt of 3D engines like Papervision3D,cite-ref-kerrkeats2009-25-0[25]cite-ref-lively2010-26-0[26]cite-ref-tondeurwinder2009-27-0[27] Away3D,cite-ref-kerrkeats2009-25-1[25]cite-ref-casperson2011-28-0[28]cite-ref-ivanov2011-29-0[29] Sandy 3D,cite-ref-kerrkeats2009-25-2[25]cite-ref-mccunesubramaniam2009-30-0[30] and Alternativa 3D targeting 3D SWF.cite-ref-lengyel2011-31-0[31] Although some of these projects started around 2005, until Flash Player 10 however they had no support of GPU acceleration, and even in that version of the Flash Player, shaders could be used for same materials, but vertex information still had to be processed on the CPU (using BSP trees etc.)cite-ref-lengyel2011-31-1[31] After version 11 of the Flash Player added the new Stage3D low-level API, some but not all of these projects migrated to the new API. One that did migrate was Away3D, version 4.cite-ref-32[32]
Based on an independent study conducted by Millward Brown and published by Adobe, in 2010, over 99% of desktop web browsers in the "mature markets" (defined as United States, Canada, United Kingdom, France, Germany, Japan, Australia, and New Zealand) had a SWF plugin installed, with around 90% having the latest version of the Flash Player.cite-ref-adobe-33-0[33]
Due to the increasing popularity of HTML5 for games and animations, as well as the numerous security holes that had plagued Adobe's SWF player, Adobe declared its Flash player EOL on December 31, 2020. On January 12, 2021, it pushed an update to its Flash player that blocked all Flash content from running.
Published specifications
Adobe makes available a partial specification of SWF,cite-ref-34[34] most recently updated in January 2013 to reflect changes in SWF version 19.cite-ref-35[35] SWF versions have been decoupled from Flash player versions after Flash 10. Afterwards the version number of the SWF progressed rapidly; SWF version 19 corresponds to the new features added in Flash Player 11.6.cite-ref-36[36] Flash Player 14 uses SWF version 25.cite-ref-37[37]
In 2008, the specifications document was criticized by Rob Savoye, the lead developer of the Gnash project, as missing "huge amounts" of information needed to completely implement SWF, omitting specifications for RTMP and Sorenson Spark.cite-ref-stillpartlyclosed-15-1[15] The RTMP specificationcite-ref-38[38] was released publicly in June 2009. The Sorenson Spark codec is not Adobe's property.
Licensing
Related file formats and extensions
Other formats related to SWF authoring in the Adobe tool chain remain without a public specification. One example is FLA, which is the editable version of SWF used by Adobe's Flash, but not by other Adobe tools that can also output SWF, albeit with fewer features.cite-ref-harringtongeduld2009-42-0[42]
| Extension | Explanation |
|---|---|
| . abc | Actionscript bytecode used by the Actioโฆ |
| . amf | Action Message commands for transactingโฆ |
| . as | ActionScript source code in simple sourโฆ |
| .asc | Server-Side ActionScript, which is usedโฆ |
| .aso | Cache files used during Flash developmeโฆ |
| .f4a | Adobe suffix for iTunes M4A files thatโฆ |
| .f4b | Adobe suffix for iTunes M4B audiobook fโฆ |
| .f4f | MP4 atom-ized fragmented files. Containโฆ |
| .f4m | XML manifest files. Containing base64 Fโฆ |
| .f4p | Adobe suffix for media encrypted with tโฆ |
| .f4v | Similar to iTunes M4V files which are bโฆ |
| . fla | Source material for the Flash applicatiโฆ |
| .flp | XML files used to reference all the docโฆ |
| . flv | Flash video files, as created by Adobeโฆ |
| . fxg | Unified xml file format being developedโฆ |
| .jsfl | Adds functionality in the Flash Authoriโฆ |
| .mxml | Used in conjunction with ActionScript fโฆ |
| .sol | Adobe Flash Player container to hold Loโฆ |
| .spl | FutureSplash Animator documents. |
| . swc | Container for distributing components;โฆ |
| .swd | Temporary debugging files used during Fโฆ |
| .swf | Completed, compiled and published filesโฆ |
| .swt | 'Templatized' forms of .swf files, usedโฆ |
| .xfl | XML-based project files that are equivaโฆ |
See also
Adobe Flash
โข ActionScript
โข Adobe Flash Player, the runtime that executes and plays back Flash movies
โข Adobe Flash Lite, a lightweight version of Flash Player for devices that lack the resources to run regular Flash movies
โข Flash Video
โข Ming library
โข Saffron Type System, the anti-aliased text-rendering engine used in version 8 onwards
โข SWFObject, a JavaScript library used to embed Flash content into webpages.
Other
โข OpenLaszlo
โข Personal video recorders โ some possibly record and play swf files
โข SWFTools
โข SWiSH Max
โข Java Applet
References
cite-note-11. "IANA Media Type registration".
cite-note-22. "[Apache-SVN] Contents of /httpd/httpd/branches/2.4.x/docs/conf/mime.types". svn.apache.org.
cite-note-33. "nginx's media type file".
cite-note-swfspec10-44. "SWF File Format Specification Version 10" (PDF). Archived from the original (PDF) on 2012-01-31. Retrieved 2012-02-26.
cite-note-swfspec19-55. "SWF File Format Specification Version 19" (PDF). Archived from the original (PDF) on 2013-02-02. Retrieved 2013-02-17.
cite-note-66. โ "Adobe Flash Player Administration Guide for Flash Player 10.1" (PDF). Adobe.com. Adobe Systems. 2010-06-10. p. 1. Archived from the original (PDF) on 2010-11-21. Retrieved 2011-03-10.
cite-note-swfopen-77. โ "Open Screen Project". Archived from the original on August 18, 2014.
cite-note-99. โ "SWF Definition from PC Magazine Encyclopedia". Retrieved 2013-11-02.
cite-note-1111. โ ""SWF" stands for...?". Archived from the original on 2016-09-19. Retrieved 2021-02-23.
cite-note-flashdead-1212. โ citerefnewmanNewman, Lily Hay. "Flash Is Deadโbut Not Gone". Wired. Archived from the original on January 24, 2021. Retrieved October 7, 2023.
cite-note-1313. โ "The History of Flash: The Dawn of Web Animation". Adobe Systems. Archived from the original on 2008-01-25. Retrieved 2008-01-21.
cite-note-1414. โ "Adobe Fast Facts | Adobe". www.adobe.com. Retrieved 2018-10-28.
cite-note-stillpartlyclosed-1515. โ "Free Flash community reacts to Adobe Open Screen Project". Archived from the original on 2008-09-28. Retrieved 2008-11-29.
cite-note-1616. โ "Streamingmedia.com: Google and Yahoo Roll out Flash Search". Archived from the original on 2008-10-13. Retrieved 2008-07-01.
cite-note-compar-1717. โ C. Concolato and J. C. Dufourd. "Comparison of MPEG-4 BIFS and some other multimedia description languages". Workshop and Exhibition on MPEG-4, WEPM. 2002.
cite-note-1919. โ "What is AGAL - Adobe Developer Connection". www.adobe.com.
cite-note-lwn-2020. โ citerefwillisWillis, Nathan. "Gnash, Lightspark, and Shumway". LWN.net. Retrieved 13 June 2014.
cite-note-2121. โ "WordPress โบ Error". blogs.adobe.com.
cite-note-2323. โ "Wii Internet Channel". Archived from the original on 2008-02-23.
cite-note-2424. โ citereferic-lempel2008Eric Lempel (December 2008). "PS3 Firmware (v2.53) Update". Playstation.Blog. Retrieved 2009-03-12.
cite-note-3232. โ "Stage3D vs WebGL Performance". Airtight Interactive. 2011-10-28. Retrieved 2023-02-07.
cite-note-adobe-3333. โ "Flash content reaches 99% of Internet viewers". Adobe. Archived from the original on August 27, 2010. Retrieved 2010-09-10.
cite-note-3434. โ "SWF and AMF Technology Center - Adobe Developer Connection". www.adobe.com.
cite-note-3535. โ "SWF and AMF3 specifications update - ByteArray.org". Archived from the original on 2013-04-15.
cite-note-3636. โ "SWF Versioning - ByteArray.org". Archived from the original on 2012-10-15.
cite-note-3737. โ "Flash Player and Adobe AIR feature list - Adobe Developer Connection". www.adobe.com.
cite-note-3838. โ "Real-Time Messaging Protocol (RTMP) specification - Adobe Developer Connection". www.adobe.com.
cite-note-3939. โ "SWF and FLV File Format Specification License Agreement". Adobe Systems. 2007-06-27. Archived from the original on 2007-12-22. Retrieved 2008-01-05. You may not use the Specification in any way to create or develop a runtime, client, player, executable or other program that reads or renders SWF files.
cite-note-4040. โ "Open Screen Project Press Release". Adobe Systems. 2008-05-01. Archived from the original on 2008-05-06. Retrieved 2008-05-01.
cite-note-4141. โ "Adobe Player Licensing: Flash Player Developer SDKs". Adobe Systems. Archived from the original on January 15, 2008. Retrieved 2008-01-21.
cite-note-harringtongeduld2009-4242. โ citerefrichard-harringtonmarcus-geduld2009Richard Harrington; Marcus Geduld (2009). After Effects for Flash, Flash for After Effects: Dynamic Animation and Video with Adobe After Effects CS4 with Adobe Flash CS4 Professional. Adobe Press. p. 32. ISBN 978-0-321-60607-5.
cite-note-newformats-436. "New File Extensions and MIME Types". Kaourantin.net. 2007-10-31. Archived from the original on 2010-07-06. Retrieved 2010-12-04.
cite-note-flv-f4v-447. citerefadobe-systems-incorporated2008Adobe Systems Incorporated (November 2008). "Video File Format Specification, Version 10" (PDF). Adobe Systems Incorporated. Archived from the original (PDF) on 2010-09-23. Retrieved 2009-08-03.
cite-note-decomp-458. citerefbrimelow2008Brimelow, Lee (25 April 2008). "New Video Tutorial on Ethical SWF Decompiling". the Flash Blog. Adobe Systems. Archived from the original on 16 December 2012. Retrieved 28 October 2010.
cite-note-tiwarielrom2010-469. citerefshashank-tiwarielad-elromcharlie-schulze2010Shashank Tiwari; Elad Elrom; Charlie Schulze (2010). AdvancED Flex 4. Apress. p. 386. ISBN 978-1-4302-2484-6.
cite-note-4710. Can a Flash Player movie (SWF) file be edited or imported?. Kb2.adobe.com. Retrieved on 2010-11-09.
cite-note-4811. citerefcrumlishdykes2006Crumlish, Christian; Dykes, Lucinda (20 February 2006). Dreamweaverยฎ MX 2004 SavvyTM. John Wiley & Sons. p. 240. ISBN 978-0-7821-5102-2. Retrieved 22 November 2021.
External links
โข Adobe Systems Flash SWF reference
โข SWF File Format Specification (Version 19)
โข Adobe SWF Investigator โ a disassembler of sorts
โข Adobe Stage3D (or Stage 3D)